package org.brisling.medical.domain;

import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;

import org.brisling.base.domain.impl.BaseFlowDomain;
import org.brisling.base.domain.inf.BaseFlowDomainInf;
import org.brisling.base.domain.inf.BaseInquiryDomainInf;
import org.brisling.common.ConstSysParam;

import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * 医疗服务质询记录实体 entity. 
 * @author jackson Wang
 * @since 2015-12-30 11:38
 * @version 1.0
 */
@Entity
@Table(name=ConstSysParam.MODULE_RECIPEL)
public class MedicalRecipel extends BaseFlowDomain implements BaseFlowDomainInf,BaseInquiryDomainInf
{
	
	
	//病区编号
	private String inpatient_id;
	
	//病区名称
	private String inpatient_name;
	
	//科室编号
	private String doct_depart_code;
	
	//科室名称
	private String doct_depart_name;
	
	//医生编号、姓名
	private String doct_id;
	
	private String doct_name;
	
	//门诊或住院
	private String patient_type;
	
	/*
	 * 住院记录号
	 */
	private String patient_id;
	
	/*
	 * 门诊处方号
	 */
	private String prescribe_code;
	/*
	 * 住院号码（不唯一）
	 */
	private String zyhm;
	
	private String patient_name;
	
	/*
	 * 入院单编号
	 * 或门诊编号
	 */
	private String inpatient_no;
	/*
	 * 异常类型,
	 * 1010:(收费逻辑错误，子类指标
	 * 		1011、护理费异常；
	 * 		1012、诊查费异常：
	 * 		1013、吸氧小时数异常；
	 * 		1014、床位费异常；
	 * 		1015、重症监护异常；
	 * )
	 * 1020:超标准收费(收费项目)
	 * 1030:超范围收费(收费项目)
	 * 1040:科室越权(收费项目)
	 * 1050:大额住院(总费用)
	 * 1060:超限处方(
	 * 		针对门诊:
	 * 		1061、金额过大（单张处方超过500元），
	 * 		1062、用药品种过多(单张处方超过5种)，
	 * 		1063、用药周期过长(普通门诊处方超过一周)
	 * 		1064、用药周期过长(急诊处方超过三天)
	 * ) 
	 * 3020:同一人开单执行
	 * 3030:重复检查(监控平台对同一患者、同一部位(项目)、同日重复检查的病例进行统计)
	 * 
	 */
	private String inquiry_item_code;
	
	/*
	 * 异常类别
	 */
	private String inquiry_item_subcode;
	
	/*
	 * 异常类型
	 */
	private String inquiry_item_sub;
	
	/*
	 * 质询事项
	 */
	private String inquiry_item;
	/*
	 * 质询原因
	 */
	private String inquiry_reason;
	
	
	/*
	 * 质询日期
	 */
	@JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
	private Date inquiry_date;
	/*
	 * 入院日期
	 */
	
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
	private Date inhzospitalat;;
	
	/*
	 * 出院日期
	 */
	
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
	private Date outhospitalat;
	
	
	
	
	/*
	 * 责任人辩解
	 */
	private String litigant_content;
	
	/*
	 * 裁决人
	 */
	private Long decide_id;
	
	private String decide_name;
	
	private String decide_deptid;
	
	private String decide_deptname;
	/*
	 * 裁决人意见
	 */
	private String decide_content;
	/*
	 * 裁决结果
	 */
	private String decide_result;
	
	private String decide_result_code;
	
	/*
	 * 认定人
	 */
	private Long affirm_id;	
	
	private String affirm_name;
	
	private Long affirm_deptid;
	private String affirm_deptname;
	/*
	 * 认定意见
	 */
	private String affirm_content;
	private String affirm_result;
	
	private String affirm_result_code;

	@Transient
	private String issue;

	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
	private Date feeat;


	public String getInpatient_id() {
		return inpatient_id;
	}

	public void setInpatient_id(String inpatient_id) {
		this.inpatient_id = inpatient_id;
	}

	public String getInpatient_name() {
		return inpatient_name;
	}

	public void setInpatient_name(String inpatient_name) {
		this.inpatient_name = inpatient_name;
	}

	public String getDoct_depart_code() {
		return doct_depart_code;
	}

	public void setDoct_depart_code(String doct_depart_code) {
		this.doct_depart_code = doct_depart_code;
	}

	public String getDoct_depart_name() {
		return doct_depart_name;
	}

	public void setDoct_depart_name(String doct_depart_name) {
		this.doct_depart_name = doct_depart_name;
	}

	public String getDoct_id() {
		return doct_id;
	}

	public void setDoct_id(String doct_id) {
		this.doct_id = doct_id;
	}

	public String getDoct_name() {
		return doct_name;
	}

	public void setDoct_name(String doct_name) {
		this.doct_name = doct_name;
	}

	public String getPatient_type() {
		return patient_type;
	}

	public void setPatient_type(String patient_type) {
		this.patient_type = patient_type;
	}

	public String getPatient_id() {
		return patient_id;
	}

	public void setPatient_id(String patient_id) {
		this.patient_id = patient_id;
	}

	public String getPrescribe_code() {
		return prescribe_code;
	}

	public void setPrescribe_code(String prescribe_code) {
		this.prescribe_code = prescribe_code;
	}

	public String getZyhm() {
		return zyhm;
	}

	public void setZyhm(String zyhm) {
		this.zyhm = zyhm;
	}

	public String getPatient_name() {
		return patient_name;
	}

	public void setPatient_name(String patient_name) {
		this.patient_name = patient_name;
	}

	public String getInpatient_no() {
		return inpatient_no;
	}

	public void setInpatient_no(String inpatient_no) {
		this.inpatient_no = inpatient_no;
	}

	public String getInquiry_item_code() {
		return inquiry_item_code;
	}

	public void setInquiry_item_code(String inquiry_item_code) {
		this.inquiry_item_code = inquiry_item_code;
	}

	public String getInquiry_item_subcode() {
		return inquiry_item_subcode;
	}

	public void setInquiry_item_subcode(String inquiry_item_subcode) {
		this.inquiry_item_subcode = inquiry_item_subcode;
	}

	public String getInquiry_item_sub() {
		return inquiry_item_sub;
	}

	public void setInquiry_item_sub(String inquiry_item_sub) {
		this.inquiry_item_sub = inquiry_item_sub;
	}

	public String getInquiry_item() {
		return inquiry_item;
	}

	public void setInquiry_item(String inquiry_item) {
		this.inquiry_item = inquiry_item;
	}

	public String getInquiry_reason() {
		return inquiry_reason;
	}

	public void setInquiry_reason(String inquiry_reason) {
		this.inquiry_reason = inquiry_reason;
	}

	public Date getInquiry_date() {
		return inquiry_date;
	}

	public void setInquiry_date(Date inquiry_date) {
		this.inquiry_date = inquiry_date;
	}

	public Date getInhzospitalat() {
		return inhzospitalat;
	}

	public void setInhzospitalat(Date inhzospitalat) {
		this.inhzospitalat = inhzospitalat;
	}

	public Date getOuthospitalat() {
		return outhospitalat;
	}

	public void setOuthospitalat(Date outhospitalat) {
		this.outhospitalat = outhospitalat;
	}

	public String getLitigant_content() {
		return litigant_content;
	}

	public void setLitigant_content(String litigant_content) {
		this.litigant_content = litigant_content;
	}

	public Long getDecide_id() {
		return decide_id;
	}

	public void setDecide_id(Long decide_id) {
		this.decide_id = decide_id;
	}

	public String getDecide_name() {
		return decide_name;
	}

	public void setDecide_name(String decide_name) {
		this.decide_name = decide_name;
	}

	public String getDecide_deptid() {
		return decide_deptid;
	}

	public void setDecide_deptid(String decide_deptid) {
		this.decide_deptid = decide_deptid;
	}

	public String getDecide_deptname() {
		return decide_deptname;
	}

	public void setDecide_deptname(String decide_deptname) {
		this.decide_deptname = decide_deptname;
	}

	public String getDecide_content() {
		return decide_content;
	}

	public void setDecide_content(String decide_content) {
		this.decide_content = decide_content;
	}

	public String getDecide_result() {
		return decide_result;
	}

	public void setDecide_result(String decide_result) {
		this.decide_result = decide_result;
	}

	public String getDecide_result_code() {
		return decide_result_code;
	}

	public void setDecide_result_code(String decide_result_code) {
		this.decide_result_code = decide_result_code;
	}

	public Long getAffirm_id() {
		return affirm_id;
	}

	public void setAffirm_id(Long affirm_id) {
		this.affirm_id = affirm_id;
	}

	public String getAffirm_name() {
		return affirm_name;
	}

	public void setAffirm_name(String affirm_name) {
		this.affirm_name = affirm_name;
	}

	public Long getAffirm_deptid() {
		return affirm_deptid;
	}

	public void setAffirm_deptid(Long affirm_deptid) {
		this.affirm_deptid = affirm_deptid;
	}

	public String getAffirm_deptname() {
		return affirm_deptname;
	}

	public void setAffirm_deptname(String affirm_deptname) {
		this.affirm_deptname = affirm_deptname;
	}

	public String getAffirm_content() {
		return affirm_content;
	}

	public void setAffirm_content(String affirm_content) {
		this.affirm_content = affirm_content;
	}

	public String getAffirm_result() {
		return affirm_result;
	}

	public void setAffirm_result(String affirm_result) {
		this.affirm_result = affirm_result;
	}

	public String getAffirm_result_code() {
		return affirm_result_code;
	}

	public void setAffirm_result_code(String affirm_result_code) {
		this.affirm_result_code = affirm_result_code;
	}

	public String getIssue() {
		return issue;
	}

	public void setIssue(String issue) {
		this.issue = issue;
	}

	public Date getFeeat() {
		return feeat;
	}

	public void setFeeat(Date feeat) {
		this.feeat = feeat;
	}
	
	
	
}